Software Development
Software Programming Fundamentals
Software Programming Fundamentals: Best Practices for Maintaining Code
Software Programming Fundamentals: Design and Development Best Practices
Software Programming Fundamentals: Software Security Best Practices
Software Programming Fundamentals: Source Coding Best Practices

Software Programming Fundamentals: Best Practices for Maintaining Code

Course Number:
sd_spfm_a04_it_enus
Lesson Objectives

Software Programming Fundamentals: Best Practices for Maintaining Code

  • start the course
  • describe what refactoring is and recognize the benefits of performing code refactoring
  • identify code conditions that can benefit from refactoring
  • list the steps involved when performing refactoring on source code
  • identify best practices for refactoring
  • describe how refactoring can be implemented to improve methods in your source code
  • recognize techniques for refactoring program functionality when working with objects
  • describe refactoring techniques to simplify how your program works with data
  • describe how conditional statements in your source code can be optimized with refactoring
  • recognize how refactoring can help optimize calls to methods in your source code
  • describe how to improve generalization in object-oriented programming through refactoring
  • list the benefits and categories of refactoring code
  • identify the benefits of performing maintenance on source code
  • identify the types of peer reviews and describe the benefits of performing inspections on your source code
  • list the roles and responsibilities of the participants involved in peer review inspections
  • list the stages of a software inspection and describe the function of each
  • describe the sources and effects of errors within your software application
  • list and describe the most common types of errors caused by poor programming
  • identify the sources of errors introduced by code improvements and how best to minimize these errors
  • describe how functionality errors occur and how to minimize them
  • list the various methods for testing your programs
  • describe the purpose and principles of unit testing
  • describe the techniques for detecting bugs when testing your programs
  • list the steps involved when debugging your source code
  • identify the benefits of maintaining, testing, and debugging source code

Overview/Description
Maintaining code after you have a working application is an important phase for the longevity of your program, and can assist in speedy development of future projects. This course will teach you how to optimize existing code through refactoring, as well as how to perform code inspections to locate defects. In addition, you'll learn how to test and debug your existing code to eliminate potential errors not yet discovered.

Target Audience
This path is targeted toward managers and developers wishing to learn the best practices used in the design and development of software applications. Working knowledge of the software creation process and software programming may be beneficial.

Software Programming Fundamentals: Design and Development Best Practices

Course Number:
sd_spfm_a01_it_enus
Lesson Objectives

Software Programming Fundamentals: Design and Development Best Practices

  • start the course
  • describe the concept of planning and its part in the creation of a software application
  • identify why it is important to properly plan your project
  • describe the initial steps taken in planning your software application project
  • identify the main components included in a planning document
  • identify the importance of maintaining and updating your planning document
  • identify issues that your design should address
  • identify the main components of a design document
  • describe how the planning documentation is helpful during the design stage of your project
  • identify the importance of maintaining and updating your design documentation
  • describe the importance of the planning and design stages of software development
  • identify the characteristics of the Sequential software development model
  • identify the characteristics of the Iterative and Incremental software development models
  • describe the features and benefits of using the Waterfall method for development
  • describe the features and benefits of using the Agile software development method
  • describe the features and benefits of using the Spiral software development method
  • describe the features and benefits of using the RAD method for development
  • describe the features and benefits of using the prototyping method for software development
  • describe the purpose, main sections, and importance of a development document
  • describe the benefits associated with implementing coding standards in your project
  • describe the benefits of implementing version control in your documentation and project
  • identify the importance of maintaining and updating your development document
  • list the methodologies and importance of documentation during the software development stage

Overview/Description
The planning stage can greatly affect the success of developing a software application. In this course, you'll learn the most commonly used best practices employed when designing and developing software application documentation. Focus is centered on what should be included in your documentation and why. Finally, this course covers the benefits of documentation content, including planning, coding standards, functionality specifications, testing, and quality control.

Target Audience
This path is targeted toward managers and developers wishing to learn the best practices used in the design and development of software applications. Working knowledge of the software creation process and software programming may be beneficial.

Software Programming Fundamentals: Software Security Best Practices

Course Number:
sd_spfm_a03_it_enus
Lesson Objectives

Software Programming Fundamentals: Software Security Best Practices

  • start the course
  • identify the goal of application security and the need to consider security issues in the design and development of software applications
  • list the guidelines for implementing security in your software development process
  • recognize the various ways that your application can develop security problems
  • identify the possible consequences of security problems
  • identify the importance of data validation within your application
  • describe the main functions that your data validation should perform on input data
  • recognize code that follows best practices for validating input data
  • identify the importance of validating and encoding output data returned from your application
  • recognize code that follows best practices for validating output data
  • recognize the importance of implementing authentication within your application and how it relates to security issues
  • identify the various resources requiring authentication and potential associated security issues
  • identify best practices for implementing authentication within your application
  • recognize best practices for creating secure passwords
  • recognize best practices for allowing users to change or recover passwords
  • identify best practices for managing and maintaining passwords
  • describe best practices for safely and securely handling errors in your application
  • list information contained in logs and how to securely handle the log files your application generates
  • identify best practices for securing data that is accessible by your application
  • describe best practices for securing the uploading of files from within your application
  • describe best practices for securing database access from your application
  • identify best practices your application should use for managing memory
  • list the best practices for creating secure applications

Overview/Description
Security is a major concern when designing and developing a software application. In this course, you'll learn the best practices for implementing security within your applications. This includes handling authentication and passwords, validating data, handling and logging errors, ensuring file and database security, and managing memory.

Target Audience
This path is targeted toward managers and developers wishing to learn the best practices used in the design and development of software applications. Working knowledge of the software creation process and software programming may be beneficial.

Software Programming Fundamentals: Source Coding Best Practices

Course Number:
sd_spfm_a02_it_enus
Lesson Objectives

Software Programming Fundamentals: Source Coding Best Practices

  • start the course
  • recognize the benefits and importance of writing quality source code
  • describe the concept of self-documenting code and its importance in the creation process
  • describe why you should include comments in your code and distinguish good comments from bad ones
  • identify best formatting practices for use in your source code
  • identify source code that utilizes best coding conventions
  • recognize the benefits of using best practices for naming identifiers in your program
  • recognize the various styles used in different programming languages for naming identifiers
  • recognize the best practices used when naming identifiers
  • recognize identifiers that follow the best practices
  • describe the purpose of methods and be able to distinguish between methods and procedures
  • describe method cohesion and its advantages when creating methods
  • identify best practices for working with arguments and distinguish between by value and by reference parameters
  • identify best practices for working with return values
  • identify best practices for working with exceptions
  • identify source code that follows best practices for method writing
  • describe the capabilities of a class, including abstraction and encapsulation
  • recognize best practices for using constructors and destructors
  • identify best practices for declaring a class and creating an object of that class
  • recognize best practices for implementing inheritance and polymorphism
  • describe the characteristics and use of interfaces and abstract classes
  • recognize how to create and work with interfaces
  • recognize how to create and work with abstract classes
  • describe the benefits of following best practices when creating source code

Overview/Description
Well-written source code is important in creating and maintaining an error-free and robust software application. In this course, you'll learn best practices for writing and documenting your source code. Additionally, best practices for variable naming, working with methods and classes, and object-oriented principles will also be examined.

Target Audience
This path is targeted toward managers and developers wishing to learn the best practices used in the design and development of software applications. Working knowledge of the software creation process and software programming may be beneficial.

Close Chat Live